The present invention relates to computer keyboards, and more particularly to a PC, laptop, or notebook computer keyboard having a set of additional function keys built-in for music control of a soundcard, on-board sound microprocessor, or other MIDI-driven installed devices or software.
As PC soundcards or on-board sound microprocessors with synthesis capabilities and a MIDI interface have become an indispensable component of most PC systems in the multimedia-driven market, the real-time control that a user can exert over such soundcard synthesizers is currently ignored in the majority of cases due to the lack of an unobtrusive MIDI control interface. At the same time, both amateur or professional music publishing and sequencing are accomplished nowadays by means of specialized software running on desktop or laptop systems, which enabled by a soundcard with a MIDI interface, or by a stand-alone MIDI interface allow an editor to enter raw MIDI data. Currently, the available devices in the market that can be used to send external, real-time MIDI control data to either a soundcard""s synthesizer or to a stand-alone MIDI interface serving editing/publishing software are relatively large and bulky musical instruments or miniature performance controllers, which in many cases are still inconvenient, inappropriate, or impossible to manage on the usually reduced desktop space setting in which most home and office PC or portable systems are set. The same situation is becoming more and more poignant as software-based DSP synthesis systems running on PCs begin to appear in the market because as personal computers become more powerful, users will no longer need to depend on dedicated hardware for sound generation. Software synthesizers will perform the same functions at a lower cost, and will allow for simple upgrades as technology changes.
In addition, the wide variety of existing external MIDI instruments tend to have higher market prices because their main purpose is to provide high-quality audio signals and/or a natural performance interface full of features and useful to professional musicians. But given that the price of available external MIDI instruments or controllers could be comparable or even greater than that of a complete multimedia PC system, it is frivolous, for most general users, to purchase a MIDI instrument or a professional controller just to provide some musical means of control over their soundcard""s synthesizer (given that most general PC multimedia users are not professional musicians) and, as mentioned before, in any case, their size makes them generally inconvenient on a desktop setting. On the other hand, for professionals of music publishing or sequencing, a MIDI input interface is as necessary as a computer mouse and an alphanumeric keyboard, so, again, the bulk and size of a MIDI musical instrument make simple data entry a somewhat awkward and space-demanding undertaking. It is therefore one purpose of this invention to provide a new type of PC keyboard which gives its users access to MIDI real-time control without the extra space demands that an additional, physically separate control device unit necessarily requires.
It is another purpose of this invention to provide for said new type of PC keyboard in a manner which permits the normal and simultaneous use of both, MIDI control functions, and the customary alphanumeric functions of a PC or laptop keyboard on a single unit device.
One more purpose of this invention is to provide said new type of PC keyboard device for MIDI control in such an absolutely basic manner of design and simplicity of operation, that users not acquainted with the multiplicity of functions associated with full or professional MIDI instruments (such as tone generation, MIDI-in, MIDI-thru, system messages, channel messages, bulk dumps, etc., and all the buttons, sliders, panels, displays, inputs, outputs, jacks, cables and peripherals that go with them) may not find themselves in the necessity of learning about such operations, interfaces, and peripherals in order to properly operate this invention.
Yet another purpose of this invention is to provide said new type of keyboard with such simple and basic design for its construction that its final price to the multimedia mass consumer may be comparable to other inexpensive standard PC keyboards.
The present invention is a new kind of multimedia computer keyboard, which, in addition to the alphanumeric typing keys that are customary to most PC""s typing keyboards possesses a built-in set of additional keys arranged and designed in a manner suitable for music control, as well as device-driving software capable of translating said additional music control keys"" signals into MIDI messages for real-time control of a soundcard or an internal on-board sound chip, or for real-time control of music software installed in the host, or for real-time control of an MIDI instrument external to the computer unit to which said new multimedia computer keyboard with additional music control keys is connected.
All embodiments of this invention consist of a PC keyboard, which may be a separate unit or an integrated component of a portable laptop, notebook or palmtop computer, and which contains all the components of a usual PC alphanumeric typing keyboard, including its usual software device driver, the usual cable bringing in power to the unit from a and conveying the unit""s alphanumeric interrupt signals to a PC""s keyboard port PC (in the case of a separate unit), an extra set of standard keys placed on the posterior part of the unit in an arrangement and design reminiscent of a piano keyboard, and three more standard keys with associated indicator lights used to switch octave-transposition levels. Underneath all keys, there lies a correspondingly extended interruption detection matrix, which is exactly the same one used to detect actuation from the other alphanumeric keys, and which lies on the same circuit board. Such extension consists of the addition of several more interruption circuits, corresponding to the added keys for music control, and several output-state octave-transposition indicator lights. One of those added keys that are particular to this invention, imprinted with the words xe2x80x9cMIDI Lockxe2x80x9d, or similar indicative words, is used to activate or deactivate the musical function of all other added keys, which, when not activated, are interpreted by the keyboard device driver program as standard keyboard-F1-to-F12 xe2x80x9cfunction and lockxe2x80x9d keys. Other two keys are used to switch octave-transpositions of the music keys (when these are active). A set of underlying indicator lights displays the current active (MIDI control) or non-active (normal xe2x80x9cfunction keysxe2x80x9d control) state of the added set of keys, as well as the current transposition state of the music keys.
The music keys actuate on the posterior part of the underlying extended detection matrix in the same usual manner as the alphanumeric keys do on their underlying anterior portion of it. As the music keys (previously activated in MIDI control mode) actuate on their underlying detection matrix, keyboard interruption signals with codes different from those already assigned to the usual alphanumeric keys are generated in the usual manner at the unit""s main microprocessorxe2x80x94which contains additional code to handle signals from the added keysxe2x80x94and sent in the usual manner (through the usual cable and usual PC""s keyboard port, in the case of a separate unit) to the keyboard""s driving software. The keyboard device driver software program or software program set manages the tasks of translating those appropriately coded interruption signals corresponding to the additional the music control keys into basic Note-On MIDI data, which by means of the host PC""s operating system and CPU are ultimately conveyed to an active device connected to the host (such as a soundcard or an on-board sound microprocessor or an external MIDI port) or an active installed application (such as a sound synthesis software program or a music publishing/sequencing software program) actively waiting for MIDI input and possibly ready to pass it along to other internal or external hardware.
The driver software implements only one kind of MIDI message, a xe2x80x9cNote-Onxe2x80x9d message, consisting of three bytes, to each of which a xe2x80x9c0xe2x80x9d xe2x80x9cstartxe2x80x9d bit is prepended, and a xe2x80x9c1xe2x80x9d bit appended. The first byte is always transmitting on MIDI Channel One, and is always a Note-On message, and is always equal to 10010000, in binary notation, or 90h, in hexadecimal notation (144, in decimal). The second and third bytes represent MIDI Note Number and MIDI Velocity respectively. Since the alphanumeric keyboard mechanism on which the operation of all music control keys will most likely lack velocity-detecting circuits, the possible values for the third byte are restricted to either zero or 64 only. A velocity value of 64 is always automatically generated for a Note-On, indicating that a music key has been depressed (if the keyboard""s output state is in MIDI Lock mode). If the keyboard""s output state is in MIDI Lock mode, a velocity value of zero is automatically generated by the driver whenever the keyboard""s microprocessor detects that a previously-depressed music control key has been released. In this manner, and unless the keyboard unit is specifically built with velocity-detecting circuitryxe2x80x94in which case velocity values can be made to range normally
The driver software implements only one kind of MIDI message, a xe2x80x9cNote-Onxe2x80x9d message, consisting of three bytes, to each of which a xe2x80x9c0xe2x80x9d xe2x80x9cstartxe2x80x9d bit is prepended, and a xe2x80x9c1xe2x80x9d bit appended. The first byte is always transmitting on MIDI Channel One, and is always a Note-On message, and is always equal to 10010000, binary notion , or 90h, in hexadecimal notation (144, in decimal). The second and third bytes represent MIDI Note Number and MIDI Velocity respectively. Since the alphanumeric keyboard mechanism on which the operation of all music control keys will most likely lack velocity-detcting circuits, the possible values for the third byte are restricted to either zero or 64 only. A velocity value of 64 is always automatically generated for a Note-On, indicating that a music key has been depressed (if the keyboard""s output state is in MIDI Lock mode). If the keyboard""s output state is in MIDI Lock mode, a velocity value of zero is automatically generated by the driver whenever the keyboard""s microprocessor detects that a previously-depressed music control key has been released. In this manner, and unless the keyboard unit is specifically built with velocity-detecting circuitryxe2x80x94in which case velocity values can be made to range normally from 0 to 127, the receiving sound-generating hardware can control the onset and duration of music sounds. This manner of operation makes possible polyphonic playing (that is, the playing of simultaneous notes perceived to be sounding at the same time) which becomes possible as long as the user holds one or more of the keyboard""s music control keys down.
One of said indicator lights particular to this invention displays the active or inactive output state mode of the music control keys. Thus, in order to cause the driver to send MIDI data to the operating system/CPU, the user must first activate MIDI Lock mode by depressing once the key that is imprinted with the words xe2x80x9cMIDI Lockxe2x80x9d, or by assessing that said corresponding indicator light is on. If said indicator light is off, those of the added music control keys which are imprinted with the xe2x80x9cF1xe2x80x9d-to-xe2x80x9cF12xe2x80x9d, etc. labels will cause the driver to interpret signals corresponding to them as standard keyboard xe2x80x9cF1xe2x80x9d-to-xe2x80x9cF12xe2x80x9d-etc. xe2x80x9cfunction-and-lockxe2x80x9d keys.
If said indicator light is on, the driver will generate and output MIDI data corresponding to MIDI note numbers within the range indicated by the currently lit transposition indicator light, which range can be physically switched several octaves up or down the musical scale by means of the two aforementioned added transposition keys. Octave transposition is a result of computation in the driver software; the octave transposition music control keys will set appropriate software flags that cause the driver program to add (transposition up) or subtract (transposition down) a numerical constant to the MIDI Note-Number value of a particular MIDI-active music control key. Thus, neither the keyboard hardware nor the sound hardware need to do octave-transpositions, since the driver keeps track of the last transposition level key depressed by the user on the keyboard, and uses this value to compute and send a transposed (or un-transposed) MIDI Note-Number code to the target sound hardware or software or external MIDI port.
Alternatively, if the MIDI Lock light is currently lit, some of the music control keys can still be used to cause the driver to interpret xe2x80x9cF1xe2x80x9d-to-xe2x80x9cF12xe2x80x9d-etc. xe2x80x9cfunction-and-lockxe2x80x9d signals by pressing one of the xe2x80x9cfunction-and-lockxe2x80x9d keys at the same time that one of the xe2x80x9cShiftxe2x80x9d or xe2x80x9cCommandxe2x80x9d keys is heldxe2x80x94or other such similar standard control key.
The size, width, and length of this invention when built as a separate unit (e.g. not as the keyboard of a laptop, etc.) do not need exceed that size, width, or length which are customary of most standard alphanumeric PC typing keyboards (about 17 to 20 inches in length from left to right, and 7 to 9 inches in width form front to back).
The operation of the alphanumeric keys of this invention is entirely equal to that of the music keys, since both input and output are the same for all keys of the unit. On the other hand, the physical components and construction of the keyboard conform to those of any standard PC alphanumeric keyboard, which construction, components, and operation are well understood and have been described before in many other active and expired patents and disclosures, and therefore are not relevant to this disclosure, since it is up to a manufacturer of this invention to choose among the great variety of active or expired components and modes of construction and operation for PC keyboards.
Similarly, the manner in which the device driver sorts and translates signals in general from the keyboard""s keys, and the manner in which these data are conveyed by the operating system/CPU to the soundcard or MIDI-receiving music software depends on the great variety of keyboard designs, keyboard microprocessors, operating systems and CPUs, and is already well understood.
This invention does not specify the contents and layout of the alphanumeric section of the keyboard, which are assumed to be standard for a given operating system, and which may include a variety of non-related layouts (such as the so-called xe2x80x9cergonomicxe2x80x9d) or a variety of related features or devices (such as pointing devices).
The uniqueness of this invention, therefore, stems from the original manner in which the standard typing keyboard has been extended with additional hardware music control keys, from the particular musical, xe2x80x9cpiano-stylexe2x80x9d arrangement and layout of such extra music control keys, form the fact that these music control keys are used to ultimately send MIDI messages to music hardware or software, from the fact that some of these music control keys can be toggled to operate as normal PC xe2x80x9cfunctionxe2x80x9d keys or simultaneously music and function keys, from the fact that the keyboard device driver software is specifically used and written to include translation and control of data from said music control keys, from the use and management which the keyboard""s device driver makes of the extra music keys"" control signals to obtain octave transposition and polyphony, and from the fact that the keyboard""s device driver sends MIDI messages to hardware or software installed in the keyboard""s host PC or other external MIDI device.
Consequently, the essence of this invention is the evolution of a standard PC alphanumeric typing keyboard into an input device capable of providing complete real-time multimedia control to its associated computerxe2x80x94including music control inputxe2x80x94while maintaining the usual size, characteristics, and expected manner of operation of any standard computer keyboard.